package com.easylinkin.linkappapi.deviceservice.service;

import com.easylinkin.linkappapi.deviceservice.entity.DeviceServiceTenantConfig;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Set;

/**
 * <p>
 * 设备服务租户个性化配置 服务类
 * </p>
 *
 * @author TongJie
 * @since 2020-10-28
 */
public interface DeviceServiceTenantConfigService extends IService<DeviceServiceTenantConfig> {
    /**
     * 批量新增
     * @param deviceServiceTenantConfigList 租户个性化服务配置列表
     */
    void batchSaveDeviceServiceTenantConfigs(List<DeviceServiceTenantConfig> deviceServiceTenantConfigList);

    /**
     * 新增
     * @param deviceServiceTenantConfig 租户个性化服务配置 vo
     */
    void add(DeviceServiceTenantConfig deviceServiceTenantConfig);

    /**
     * 查询 设备服务租户配置列表
     * @param deviceServiceTenantConfig 查询对象 vo
     * @return
     */
    List<DeviceServiceTenantConfig> getDeviceServiceTenantConfigs(DeviceServiceTenantConfig deviceServiceTenantConfig);

    /**
     * 对新增的设备服务，查询旧版的设备服务是否有个性化配置 如果有修改，用新增的设备服务id 替换
     * @param addDeviceServicesIds 新增的设备服务id集合
     */
//    void inheritPersonalizedConfig(Set<String> addDeviceServicesIds);

    void inheritPersonalizedConfig(String existRefUnitId, String tenantId, String newDeviceUnitId);

    void deleteByTenantIdAndUnitId(String tenantId, String existRefUnitId);
}
